آموزش ساخت بازی سه بعدی به زبان Basic با دارک بیسیک Dark Basic
تهیه و آموزش نرم افزار دارک بیسیک
 
 
سه شنبه 27 فروردين 1392برچسب:, :: 23:14 ::  نويسنده : ابوالفضل

 این فصل شامل دستوراتی برای ایجاد و حذف و ویرایش تصاویری با فرمت های BMP ، JPG ، TGA ، DDS ، DIB و PNG می باشد . می توان تصویر را از روی فایل فراخوانی کرد . کاربرد بیتمپ معمولا برای نمایش عکس و یا لوگوی تصویر اولیه بازی است .

 

دستور LOAD BITMAP

این دستور تصویری را از روی فایل بر روی صفحه فراخوانی می کند . مانند دستورالعمل زیر :

 

LOAD BITMAP Filename,BitmapNumber

 

طبق این دستورالعمل به جای Filename آدرس و نام و فرمت فایل تصویری و به جای BitmapNumber شماره ای بین 0 تا 32 قرار می دهیم . توسط همین شماره می توانیم در خطوط بعدی ، تصویر مورد نظرمان را کنترل کنیم . مانند مثال زیر :

 

Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 1

Wait Key

 

اگر به جای BitmapNumber عدد صفر را قرار دهیم و یا هیچ گونه عددی قرار ندهیم ، تصویر بر روی صفحه نمایش ، نشان داده می شود . مانند مثال زیر :

 

Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0

Wait Key

 

نکته : در این دستور اگر به جای BitmapNumber عدد صفر قرار دهیم ، در حالت گرافیک قرار می گیریم . یعنی می توانیم از دستورات گرافیکی و چاپی استفاده کنیم . سایر اعداد برای محاسبات تصویری کاربرد دارند . یعنی اگر از این دستور استفاده کنیم و عددی بالا تر از صفر قرار دهیم ، فرامین چاپی و گرافیکی دیده نخواهند شد .

 

دستور CREATE BITMAP

با این دستور می توانیم یک تصویر خالی با سایز دلخواه بسازیم . مانند دستورالعمل زیر :

 

CREATE BITMAP BitmapNumber,Width,Height

 

طبق این دستورالعمل به جای BitmapNumber یک عدد قرار می دهید تا در خطوط بعدی بر روی تصویرمان کنترل داشته باشیم . و به جای Width اندازه ی پهنای تصویر و به جای Height اندازه ی ارتفاع تصویر را قرار می دهیم . مانند مثال زیر :

 

CREATE BITMAP 1,640,480

WAIT KEY

 

در این مثال تصویری با شماره ی یک و طول 640 و ارتفاع 480 ایجاد شد .

 

دستور SET CURRENT BITMAP

این دستور تصویر دلخواهمان را از بین دیگر تصاویر ، فعال می کند . مانند مثال زیر :

 

Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0

CREATE BITMAP 1,640,480

SET CURRENT BITMAP 0

WAIT KEY

 

اگر تصویر شماره صفر فعال باشد ، دستورات چاپی و گرافیکی قابل دیدن خواهند بود .

 

دستور DELETE BITMAP

این دستور تصاویر ایجاد شده و یا خوانده شده از فایل را حذف می کند . در مانند دستورالعمل زیر :

 

DELETE BITMAP BitmapNumber

 

طبق این دستورالعمل به جای BitmapNumber شماره تصویر را قرار می دهیم تا تصویر مورد نظر حذف شود . مانند مثال زیر :

 

CREATE BITMAP 1,640,480

Load Bitmap "C:MyBitmap.bmp",2

DELETE BITMAP 1

WAIT KEY

 

در این مثال تصویر شماره ی 1 حذف می شود . البته از روی Ram حذف می شود، نه اینکه فایل از بین برود .

 

دستور COPY BITMAP

این دستور تصویری را در تصویر دیگری کپی می کند . مانند دستورالعمل زیر :

 

COPY BITMAP FromBitmap,ToBitmap

 

طبق این دستورالعمل به جای FromBitmap شماره ی تصویری که می خواهیم از آن کپی تهیه کنیم و به جای ToBitmap شماره ی تصویری را که می خواهیم در آن بچسبانیم ، قرار می دهیم . مانند مثال زیر :

 

Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 1

Create Bitmap 2,200,200

Copy Bitmap 1,2

Wait Key

 

در این مثال تصویر شماره ی 1 در تصویر شماره ی 2 کپی می شود . از این دستور می توان به شکل دیگری هم استفاده کرد . مانند دستورالعمل زیر :

 

COPY BITMAP FromBitmap,LEFT,TOP,RIGHT,BOTTOM,ToBitmap,left,top, right,bottom

 

در این روش مختصات تصویر انتخابی از تصویر اول در مختصات تصویر انتخابی در تصویر دوم کپی می شود . مانند مثال زیر :

 

Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp",1

Create Bitmap 2,200,200

COPY BITMAP 1,50,50,100,100,2,0,0,50,50

COPY BITMAP 2,0

Set Current Bitmap 0

WAIT KEY

 

دستور MIRROR BITMAP

این دستور تصویر را حول محور عمودی انعکاس می دهد . مانند تصویر در آینه عمودی . مانند مثال زیر :

 

Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp",0

Do

MIRROR BITMAP 0

Wait 500

Loop

 

دستور FLIP BITMAP

این دستور تصویر را حول محور افقی انعکاس می دهد . مانند تصویر در آینه افقی . مانند مثال زیر :

 

Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0

Do

Flip BITMAP 0

Wait 500

Loop

 

دستور FADE BITMAP

این دستور باعث محو شدن تصویر می شود ( تمایل به رنگ سیاه ) . مانند دستورالعمل زیر :

 

FADE BITMAP BitmapNumber,FadeValue

 

طبق این دستورالعمل به جای BitmapNumber عدد مربوط به تصویر و به جای FadeValue مقدار محوشدگی تصویر را قرار می دهیم که عددی در محدوده ی صفر تا 100 می باشد که این عدد درصد شفافیت تصویر را مشخص می کند . یعنی اگر عدد 90 را قرار دهیم ، تنها 90 درصد از شفافیت تصویر باقی خواهد ماند . مانند مثال زیر :

 

Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0

For I = 1 To 10

Fade BITMAP 0,90

Wait 500

Next I

 

دستور BLUR BITMAP

این دستور باعث تار شدن تصویر می شود . مانند دستورالعمل زیر :

 

BLUR BITMAP BitmapNumber,BlurValue

 

طبق این دستورالعمل به جای BitmapNumber عدد مربوط به تصویر و به جای BlurValue مقدار تار شدگی تصویر را قرار می دهیم که عددی در محدوده ی 1 تا 6 می باشد که این عدد شدت تارشدگی تصویر را مشخص می کند . یعنی اگر عدد 1 را قرار دهیم ، تصویر به مقدار کم تار می شود و اگر بیشترین عدد یعنی 6 را قرار دهیم ، تصویر به مقدار زیاد ، تار خواهد شد . مانند مثال زیر :

 

Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0

Wait 1000

Blur BITMAP 0,5

Wait Key

 

تابع CURRENT BITMAP

این تابع شماره ی تصویر فعال را برمی گرداند . مانند مثال زیر :

 

CREATE BITMAP 1,640,480

SET CURRENT BITMAP 0

()PRINT CURRENT BITMAP

WAIT KEY

 

تابع BITMAP EXIST

این تابع مشخص می کند که آیا تصویر مورد نظر در حافظه موجود است یا نه . مانند مثال زیر :

 

CREATE BITMAP 1,640,480

Set Current Bitmap 0

(PRINT BITMAP EXIST(1

WAIT KEY

 

در این مثال چون تصویری با شماره ی یک در حافظه ایجاد شده ، تابع مقدار 1 و اگر این شماره تصویر در حافظه نباشد ( مثلا با دستور Delete Bitmap حذف شده باشد ) ، تابع مقدار صفر را برمی گرداند .

 

تابع BITMAP WIDTH و تابع BITMAP HEIGHT و تابع BITMAP DEPTH

این سه تابع به ترتیب پهنا و ارتفاع و عمق رنگ ( تعداد رنگ های تشکیل دهنده ی تصویر ، مثلا 32 بیت یعنی حدود 16 میلیون رنگ ) تصویر مورد نظر را برمی گردانند . مانند مثال زیر :

 

Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0

(Print "Bitmap Width = " ; Bitmap Width(0

(Print "Bitmap Height = " ; Bitmap Height(0

(Print "Bitmap Depth = " ; Bitmap Depth(0

Wait Key

 

تابع BITMAP MIRRORED

این تابع مشخص می کند که آیا تصویر مورد نظر در راستای محور افقی انعکاس پیدار کرده یا نه ( یعنی آیا از دستور MIRROR BITMAP استفاده شده است یا نه ) . مانند مثال زیر :

 

Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0

Do

Wait 2000

MIRROR BITMAP 0

If BITMAP MIRRORED(0)=1

   "Print "Bitmap Mirrored

Else

      "Print "Bitmap Not Mirrored

EndIf

Loop

 

تابع BITMAP FLIPPED

این تابع مشخص می کند که آیا تصویر مورد نظر در راستای محور عمودی انعکاس پیدار کرده یا نه ( یعنی آیا از دستور FLIPP BITMAP استفاده شده است یا نه ) . مانند مثال زیر :

 

Load Bitmap "C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjectsRoomDemomedia oomWalld.bmp" , 0

Do

Wait 2000

Flip BITMAP 0

If BITMAP Flipped(0)=1

   "Print "Bitmap Flipped

Else

   "Print "Bitmap Not Flipped

EndIf

Loop



صفحه قبل 1 صفحه بعد

درباره وبلاگ


به وبلاگ من خوش آمدید
آخرین مطالب
پيوندها

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان آموزش ساخت بازی 3D ( سه بعدی ) به زبان Basic با دارک بیسیک D و آدرس darkbasic.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.





نويسندگان


آمار وب سایت:  

بازدید امروز : 6
بازدید دیروز : 0
بازدید هفته : 21
بازدید ماه : 248
بازدید کل : 99618
تعداد مطالب : 24
تعداد نظرات : 3
تعداد آنلاین : 1